package db;

import db.relation.ActivitySpotsDAO;
import db.entity.ActivityDAO;
import db.relation.LPSetDAO;
import db.entity.LineDAO;
import db.relation.OperationDAO;
import db.entity.NodeDAO;
import db.entity.SpotDAO;
import db.entity.RoleDAO;
import db.entity.ResourceTypeDAO;
import db.entity.UserDAO;
import db.relation.UserGroupDAO;

/**
 * 
 * Description: 生成各种对数据进行处理的DAO。
 * 
 * @since  2009/2/21
 * @author ashen
 * 
 */
public final class DAOFactory {
	/**
	 * the method getSpotDAO of class DAOFactory
	 * 
	 * 返回SpotDAO对象，该对象提供对数据库的景点上的风景记录的操作
	 * 
	 * @return SpotDAO对象
	 */
	public static SpotDAO getSpotDAO()
	{
		return new SpotDAO();
	}

	/**
	 * the method getUserDAO of class DAOFactory
	 * 
	 * 返回UserDAO对象，该对象提供对数据库保存的用户记录的操作
	 * 
	 * @return UserDAO对象
	 */
	public static UserDAO getUserDAO()
	{
		return new UserDAO();
	}
	
	/**
	 * the method getLineDAO of class DAOFactory
	 * 
	 * 返回LineDAO对象，该对象提供对数据库的民俗活动的操作
	 * 
	 * @return LineDAO对象
	 */
	public static LineDAO getLineDAO()
	{
		return new LineDAO();
	}
	
	/**
	 * the method getActivityDAO of class DAOFactory
	 * 
	 * 返回ActivityDAO对象，该对象提供对数据库的民俗活动的操作
	 * 
	 * @return ActivityDAO对象
	 */
	public static ActivityDAO getActivityDAO()
	{
		return new ActivityDAO();
	}
	
	/**
	 * the method getRoleDAO of class DAOFactory
	 * 
	 * 返回RoleDAO对象，该对象提供对数据库的权限级别的操作
	 * 
	 * @return RoleDAO对象
	 */
	public static RoleDAO getRoleDAO()
	{
		return new RoleDAO();
	}
	
	/**
	 * the method getResourceTypeDAO of class DAOFactory
	 * 
	 * 返回ResourceTypeDAO对象，该对象提供对数据库中的注册的服务的操作
	 * 
	 * @return ResourceTypeDAO对象
	 */
	public static ResourceTypeDAO getResourceTypeDAO()
	{
		return new ResourceTypeDAO();
	}
	
	/**
	 * the method getActivitySpotsDAO of class DAOFactory
	 * 
	 * 返回ActivitySpotsDAO对象，该对象提供对数据库的民俗活动与景点的关系集的操作
	 * 
	 * @return ActivitySpotsDAO对象
	 */
	public static ActivitySpotsDAO getActivitySpotsDAO()
	{
		return new ActivitySpotsDAO();
	}
	
	/**
	 * the method getOperationDAO of class DAOFactory
	 * 
	 * 返回OperationDAO对象，该对象提供对权限操作与权限级别的关系集的操作
	 * 
	 * @return OperationDAO对象
	 */
	public static OperationDAO getOperationDAO()
	{
		return new OperationDAO();
	}
	
	/**
	 * the method getLPSetDAO of class DAOFactory
	 * 
	 * 返回LPSetDAO对象，该对象提供对数据库的旅游路线与景点的关系集的操作
	 * 
	 * @return LPSetDAO对象
	 */
	public static LPSetDAO getLPSetDAO()
	{
		return new LPSetDAO();
	}
	
	/**
	 * the method getUserGroupDAO of class DAOFactory
	 * 
	 * 返回UserGroupDAO对象，该对象提供对数据库的用户与权限级别的关系集的操作
	 * 
	 * @return UserGroupDAO对象
	 */
	public static UserGroupDAO getUserGroupDAO()
	{
		return new UserGroupDAO();
	}
	
	/**
	 * the method getNodeDAO of class DAOFactory
	 * 
	 * 返回NodeDAO对象，该对象提供对数据库的资源记录的操作
	 * 
	 * @param type 资源类型
	 * @return NodeDAO对象
	 */
	public static NodeDAO getNodeDAO(String type)
	{
		return new NodeDAO(type);
	}
	
	/**
	 * the method getNodeDAO of class DAOFactory
	 * 
	 * 返回NodeDAO对象，该对象提供对数据库的资源记录的操作
	 * 
	 * @return NodeDAO对象
	 */
	public static NodeDAO getNodeDAO()
	{
		return new NodeDAO();
	}
	
}
